{# Overseer > Database > Query (overseer_database_browser.query_page, db_query), filling the page below its header: the statements open as tabs (sql.js keeps them in this browser, each with its last answer; ``query_seed``, from a table, opens one more), the editor across the top, highlighted in the database's dialect and completing its tables and columns, drawn taller or shorter by its corner, its answer in the flat scroller under it (``_query_answer.html``). Without the script, one plain box. Cmd-Enter (or Run) runs the tab's statement. The Run form holds nothing (its box and button join it by ``form=``), so no menu's request is its own, nor inherits where its answer goes. Saved keeps the tab in the app's database for every admin (sql.js sends the tab's name and statement) and opens one kept there as a tab (``_query_saved.html``, read as the menu first opens). Its box and buttons are write controls (``data-write``): hidden where Overseer's changes are refused, and every run and save is audited. #} {% from "components/macros/form.html" import action, textarea %} {% from "components/macros/layout.html" import dropdown, menu_item %} {% from "pages/overseer/_macros.html" import wrap_actions, wraps %} {% from "pages/overseer/database/_macros.html" import export_menu, rows_off_note %} {% if rows_off %} {{ rows_off_note(rows_off) }} {% else %}